# encoding: utf-8
"""
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    created by lane.chang on '13/05/2024'
    comment: 界面协作者
"""
import asyncio
from project.service.agents.agent import Agent
from project.model.basic import User
from project.core.function import match_texts


class AnswerService:
    """
    """

    @staticmethod
    async def answer(user_message):
        """ 搜集建议
        :return:
        """
        prompt = """
        #### 场景介绍:
        假设你正在询问用户"是否需要xxx服务?"，根据用户的回答，判断用户是同意还是拒绝。

        #### 答复类型:
        需要: 用户同意时。
        不需要: 用户拒绝时。"不好"也包含拒绝的意思。
        其它: 无法确定用户是同意还是拒绝。

        #### 用户对你说: {user_message}

        #### 输出格式:
        <reason>你的推理过程。。。</reason><answer>答复类型</answer>
        """
        res = await Agent(User(), user_message=user_message, business_name='搜集建议').async_interact(prompt=prompt)
        result = match_texts(res, 'reason', 'answer')

        return result


if __name__ == "__main__":
    """
    """
    user_message = "不好吧"
    result = asyncio.run(AnswerService.answer(user_message=user_message))
    print(result)
